From 3217c5cc9c65b5682fcc2e65b3fbab284bf0c5ad Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 15 Sep 2009 09:23:44 +0100 Subject: [PATCH] x86: Remove PSE flag from PV guest CR4 and CPUID. From: Dave McCracken Signed-off-by: Keir Fraser --- xen/arch/x86/traps.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 6feb8ccdbd..e8116afe1c 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -752,8 +752,7 @@ static void pv_cpuid(struct cpu_user_regs *regs) __clear_bit(X86_FEATURE_VME, &d); if ( !cpu_has_apic ) __clear_bit(X86_FEATURE_APIC, &d); - if ( !opt_allow_hugepage ) - __clear_bit(X86_FEATURE_PSE, &d); + __clear_bit(X86_FEATURE_PSE, &d); __clear_bit(X86_FEATURE_PGE, &d); __clear_bit(X86_FEATURE_PSE36, &d); } @@ -2064,12 +2063,10 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) case 4: /* Read CR4 */ /* * Guests can read CR4 to see what features Xen has enabled. We - * therefore lie about PGE as it is unavailable to guests. - * Also disallow PSE if hugepages are not enabled. + * therefore lie about PGE and PSE as they are unavailable to + * guests. */ - *reg = read_cr4() & ~X86_CR4_PGE; - if ( !opt_allow_hugepage ) - *reg &= ~X86_CR4_PSE; + *reg = read_cr4() & ~(X86_CR4_PGE|X86_CR4_PSE); break; default: -- 2.30.2